热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

<学习笔记>arcgisapiforjavascript3.21和4.4加载天地图

arcgisjsapi目前有两条路线,4.4支持2D和3D地图,3.21主要做2D全景图,两种的地图加载方式和接口的用法还是有些不同的,以前用3.21加载天地图的时候直接用天地图的REST

arcgis js api目前有两条路线,4.4支持2D和3D地图,3.21主要做2D全景图,两种的地图加载方式和接口的用法还是有些不同的,以前用3.21加载天地图的时候直接用天地图的REST url就可以加载地图,在用新的4.4加载天地图的时候参照官网的加载例子缺怎么都无法将天地图加载进来,发送了请求会返回正确的json数据,但是不会去请求瓦片图。经研究后发现还是空间参考的问题,arcgis默认用的4326参考,而天地图用的是4490参考。如果不定义号空间参考是不会去加载地图瓦片的。

用重庆.天地图的rest api作为例子:http://www.digitalcq.com/RemoteRest/services/CQMap_VEC/MapServer,直接进可以查看天地图的各种参数.

在3.21中直接通过url加载地图:

createMap() {
            esriLoader.dojoRequire([
                "esri/map",
                "esri/basemaps",
            ], (Map, esriBasemaps) => {
                esriBasemaps.tianditu = {
                    baseMapLayers: [{ url: "http://www.digitalcq.com/RemoteRest/services/CQMap_VEC/MapServer" }],
                    title: "TianDitu"
                };

                var map = new Map("map", {
                    basemap: "tianditu",  
                    center: [106.588252, 29.567552], 
                    zoom: 8,
                });
            });
        }

在4.4中需要定义空间参考:


createMap() {
            esriLoader.dojoRequire(["esri/Map",
                "esri/views/MapView",
                "esri/Basemap",
                "esri/layers/TileLayer",
                "esri/geometry/SpatialReference",
                "esri/geometry/Extent"
            ], (Map, MapView, Basemap,TileLayer,SpatialReference,Extent) => {
                var sr = new SpatialReference({wkid:4490});
                var fullextent = new Extent({
                    xmax:1000.0,xmin:0.0,ymax:1000,ymin:0.0,spatialReference:sr
                });
                var initialextent = new Extent({
                    xmax:108.13817851680021,xmin:105.3831598117314,ymax:30.46728535770415,ymin:28.897172489811304,spatialReference:sr
                })

                var tileBaseLayer = new TileLayer({
                    url: "http://www.digitalcq.com/RemoteRest/services/CQMap_VEC/MapServer",
                    spatialReference:sr,
                    fullExtent:fullextent
                })

                var cq_map = new Basemap({
                    baseLayers: [tileBaseLayer],
                    title: "arcgis",
                    id: "arcgis",
                });

                var map = new Map({
                    basemap: cq_map
                });

                var view = new MapView({
                    container: "viewDiv",
                    map: map,
                    extent:initialextent,
                    spatialReference:sr,
                });
}

Done:




推荐阅读
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
author-avatar
嘉洲仔-
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有